source("global.R")
library(ggrepel)
library(ComplexHeatmap)
lipid <- readRDS("../data/targeted_singletp_fin3_all.rds")HDL lipidome quantification (from targeted)
Analysis based on the targeted lipidomic results. File: mx733759_Agus_Lipids_Single-point quant_with cholesterol_Submit_10-17-23.xlsx. The peak heights were converted to ng/mL based on the amount and peak height of iSTD.
Data processing
Features with InChI Keys that couldn’t be found in the PubChem were excluded.
Compounds with identical InChI Keys were selected by lowest CV in pooled samples.
Assign lipid class from LIPID MAPS and manually curated table.
Concentration were calculated based the most abundant istd in each lipid class.
Cholesterol istd was rerun.
CVs of pooled samples
The CVs of pooled samples for each lipid species were calculated using the following formula:
\[ CV_{lipid\ species} = SD_{lipid\ species}/Mean_{lipid\ species} * 100\% \]
We are less confident with the lipid species with a high CV. These lipid species will be excluded for further analysis.
hist(lipid$fdata$qc_cv, main = "The distribution of CVs")sum(lipid$fdata$qc_cv>30)[1] 13
We excluded lipid species with a CV > 30%. 13 features were excluded.
lipid <- subset_features(lipid, lipid$fdata$qc_cv<30)Following analysis included all quantified lipid species.
Included all quantified lipid species. 455 lipid species for analysis.
Lipid class
Pie chart
lipid.class3 <- subset_features(lipid, !is.na(lipid$fdata$
class))
lipid.class3 <- summarize_feature(lipid.class3, "class")
edata.prop3 <- apply(lipid.class3$edata, 2, function(col){
col/sum(col)*100
})
# pie chart
pies.class3 <- lapply(sampleNames(lipid), plotPie, edata.prop3)
legend.class3 <- get_legend(pies.class3[[1]]+theme(legend.position = "bottom"))
pies.class3 <- lapply(pies.class3, function(x)x+theme(legend.position = "none"))
plot_grid(plotlist = pies.class3, nrow = 3)Bar plot
# bar plot
plotBar(edata.prop3)PCA
edata.scaled3 <- scale(t(edata.prop3), center = T)
res.pca <- PCA(edata.scaled3, scale.unit = T, graph = FALSE)
# fviz_eig(res.pca, addlabels = TRUE)
fviz_pca_ind(res.pca,
axes = c(1,2),
repel = TRUE,
title = NULL
) +
theme_cynthia_bw() +
theme(
legend.position = "none"
) +
labs(title = NULL)Lipid species enriched in fractions
The concontration of each lipid species in each fraction was normalized to the total lipid concentration of each fraction before compare across fractions. For example,
Species level
Class level
lipid.class <- summarize_feature(lipid, "class")
lipid.class.rel <- apply(lipid.class$edata, 2, function(x){
x/sum(x)
})
p.class <- enrich_all_fraction(bg.fraction, lipid.class.rel, lipid.class, TRUE)
# Heatmap of enrich species in each fraction
mat.class <- as.matrix(p.class)
mat.class[mat.class<0.01] <- 0.01
mat.class <- -log(mat.class)
Heatmap(mat.class, name = "-log(p)")